This invention generally relates to digital voice transmission systems and, more particularly, to a low-overhead method for protecting multi-pulse speech coders against the effects of severe random or fading pattern bit errors, common to digital mobile radio channels.
Code Excited Linear Prediction (CELP) and Multi-pulse Linear Predictive Coding (MPLPC) are two of the most promising techniques for low rate speech coding. While CELP holds the most promise for high quality, its computational requirements can be excessive for some systems. MPLPC can be implemented with much less complexity, but it is generally considered to provide lower quality than CELP.
Multi-pulse coding was first described by B.S. Atal and J. R. Remde in "A New Model of LPC Excitation for Producing Natural Sounding Speech at Low Bit Rates", Proc. of 1982 IEEE Int. Conf. on Acoustics, Speech, and Signal Processing, May 1982, pp. 614-617. It was described as an improvement on the rather synthetic quality of the speech produced by the standard U.S. Department of Defense (DOD) LPC-10 vocoder. The basic method is to employ the Linear Predictive Coding (LPC) speech synthesis filter of the standard vocoder, but to excite the filter with multiple pulses per pitch period, instead of with the single pulse as in the DOD standard system.
In low-rate speech coding systems, bit errors can introduce appreciable artifacts into the decoded speech. For example, at a bit error rate (BER) of 5%, an unprotected 4800 bit/second multi-pulse speech coder would exhibit poor intelligibility in the output speech. Since a random bit error rate of 5% is not uncommon in digital mobile radio, protection of the coder against random pattern bit error artifacts is very important.
In addition to random pattern errors, mobile radio exhibits a more severe error effect known as fading errors. Fading errors occur when a moving vehicle encounters an area where the direct and reflected signals combine destructively and produce little or no signal level at the receiver. Such fades occur in a quasi-periodic fashion, where the length of and time between fades, depend on the vehicle speed, transmission rate, and carrier frequency. During a fade, all information is lost, and a random stream of bits is sent to the speech decoder. Thus the speech coder operates with occasional bursts of an effective 50% BER. These bursts produce severe short-term "whoop" and "splat" artifacts in the speech output. Conventional error protection schemes (such as convolutional coding) cannot protect against most fades.
Convolutional coding with Viterbi decoding is well known for its superior performance with random bit error patterns. See A. J. Viterbi and J. K. Omura, Principles of Digital Communication and Coding, McGraw-Hill, 1979, pages 301-315. Experimental results show that a rate 1/2 coder (a coder that produces one additional check bit for each input bit, i.e., "1 bit in, 2 bits out") will perform quite well in 5% randomly distributed errors, producing a post-decoder output BER of 0.2-0.4%. Unfortunately, in an 800 MHz, 44 kbit/second fading channel model, it provides no improvement. Thus, a rate 1/2 convolutional coder/Viterbi decoder is useful for randomly distributed errors only.
If a means for detecting fade occurrence is provided, then some degree of fade protection can be achieved by taking "evasive action" within the speech decoding algorithm. Systems to accomplish such result take advantage of the quasi-stationary and periodic nature of the speech signal by interpolating or holding over spectral and gain information from a previous usable or "good" frame. Such system is described by N. DalDegan, F. Perosino and F. Rusina in "Communications by Vocoder on a Mobile Satellite Fading Channel", Proceedings of the IEEE International Conference on Communications -- 1985. (ICC-85), pp. 771-775, June 1985, for a standard LPC-10 vocoder.
The DalDegan et al. method detects fades using what they characterize as a "Signal Quality Detector" and by estimating the LPC distance between contiguous frames. Presumably, if the quality detector indicates an unusable, or "bad" frame, and the LPC distance measure between the "bad" frame and the previous "good" frame is above a threshold, the algorithm will reuse the previous frame's LPC coefficients; or, if a faded frame occurs between two good frames, it will interpolate the LPC values from the surrounding frames for the bad frame. While the DalDegan et al. algorithm also interpolates (or holds over) values for the pitch period and the gain, it cannot provide any protection during periods of random pattern errors. It requires a signal level measurement to indicate the presence of a deep fade.
What is needed is a scheme that protects against the effects of both random and fading pattern errors while using as little overhead (i.e., extra bits transmitted for error correction or detection) as possible.